#include <iostream>
#include <algorithm>
#include <cstdio>
#include <array>
using namespace std;
#ifdef ONLINE_JUDGE

#define getchar() (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 21, stdin), p1 == p2) ? EOF : *p1++)
char buf[1 << 23], *p1 = buf, *p2 = buf, ubuf[1 << 23], *u = ubuf;

#endif
int read() {
	int p = 0, flg = 1;
	char c = getchar();
	while (c < '0' || c > '9') {
		if (c == '-') flg = -1;
		c = getchar();
	}
	while (c >= '0' && c <= '9') {
		p = p * 10 + c - '0';
		c = getchar();
	}
	return p * flg;
}
void write(int x) {
	if (x < 0) {
		x = -x;
		putchar('-');
	}
	if (x > 9) {
		write(x / 10);
	}
	putchar(x % 10 + '0');
}
bool _stmer;

const int N = 1e7 + 5, mod = 998244353;

int pow_(int x, int k, int p) {
	int ans = 1;
	while (k) {
		if (k & 1) ans = 1ll * ans * x % p;
		x = 1ll * x * x % p;
		k >>= 1;
	}
	return ans;
}

array <int, N> fac, inv;

void init(int n) {
	fac[0] = 1;
	for (int i = 1; i <= n; i++)
		fac[i] = 1ll * fac[i - 1] * i % mod;
	inv[n] = pow_(fac[n], mod - 2, mod);
	for (int i = n; i; i--)
		inv[i - 1] = 1ll * inv[i] * i % mod;
}

int C(int n, int m) {
	if (n < m) return 0;
	return 1ll * fac[n] * inv[m] % mod * inv[n - m] % mod;
}

array <int, N> idx, isl;

void Mod(int &x) {
	if (x >= mod) x -= mod;
	if (x < 0) x += mod;
}

bool _edmer;
int main() {
	cerr << (&_stmer - &_edmer) / 1024.0 / 1024.0 << "MB\n";
#ifndef cxqghzj
	freopen("length.in", "r", stdin);
	freopen("length.out", "w", stdout);
#endif
	init(1e7);
	int n = read(), k = read();
	idx[0] = 1;
	for (int i = 1; i <= n; i++)
		idx[i] = 1ll * idx[i - 1] * n % mod;
	int ans = 0;
	isl[0] = 1;
	for (int i = 1; i <= n; i++) {
		if (i <= 5) isl[i] = pow_(i, k, mod);
		else if (i % 2 == 0)
			isl[i] = 1ll * isl[2] * isl[i / 2] % mod;
		else if (i % 3 == 0)
			isl[i] = 1ll * isl[3] * isl[i / 3] % mod;
		else if (i % 5 == 0)
			isl[i] = 1ll * isl[5] * isl[i / 5] % mod;
		else
			isl[i] = pow_(i, k, mod);
		ans += 1ll * isl[i] * C(n, i) % mod * idx[n - i] % mod * fac[i - 1] % mod, Mod(ans);
	}
	write(ans), puts("");
	return 0;
}
